#pragma once

#include "BlockDesign.h"
#include "HRTimer.h"
#include "BlockChessboard.h"
#include "CalcDissimilarity.h"

#include "Export.h"

namespace dhis
{
	//------------------------------------------------------------------------------
	void _getScales(CParameter* para,REALVec& scalse);

	//------------------------------------------------------------------------------
	void _mergeBlockInner(CMacroBlock* block,const CImageInfo* pImg,const CParameter* pPara, const REAL& scale);

	//------------------------------------------------------------------------------
	void _mergeBlockFrontier(CBlockChessboard& chessboard,BlockMap& blocks,const CImageInfo* pImg,const CParameter* pPara,const REAL& scale);

	//------------------------------------------------------------------------------
	void _parallelMergeScale(CBlockChessboard& chessboard,BlockMap& blocks,const CImageInfo* pImg,const CParameter* pPara,const REAL& scale,std::ofstream& strm);

}

